package co.com.smart.persistence.entity.dto;

import java.io.Serializable;

import javax.persistence.*;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * The persistent class for the smart_consultorio database table.
 * 
 */
@Entity
@Table(name="smart_consultorio")
@NamedQuery(name="SmartConsultorio.findAll", query="SELECT s FROM SmartConsultorio s")
public class SmartConsultorio implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name="sm_scconsultorio")
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private BigDecimal smScconsultorio;

	@Column(name="sm_coconsultorio")
	private String smCoconsultorio;

	@Column(name="sm_cousuario")
	private String smCousuario;

	@Column(name="sm_dsconsultorio")
	private String smDsconsultorio;

	@Temporal(TemporalType.DATE)
	@Column(name="sm_fhingreso")
	private Date smFhingreso;

	@Temporal(TemporalType.DATE)
	@Column(name="sm_fhmodificacion")
	private Date smFhmodificacion;

	@Temporal(TemporalType.DATE)
	@Column(name="sm_fhretiro")
	private Date smFhretiro;

	//bi-directional many-to-one association to SmartAgenda
	@OneToMany(cascade = CascadeType.ALL,mappedBy="smartConsultorio", fetch = FetchType.LAZY)
	private List<SmartAgenda> smartAgendas;

	public SmartConsultorio() {
	}

	public BigDecimal getSmScconsultorio() {
		return this.smScconsultorio;
	}

	public void setSmScconsultorio(BigDecimal smScconsultorio) {
		this.smScconsultorio = smScconsultorio;
	}

	public String getSmCoconsultorio() {
		return this.smCoconsultorio;
	}

	public void setSmCoconsultorio(String smCoconsultorio) {
		this.smCoconsultorio = smCoconsultorio;
	}

	public String getSmCousuario() {
		return this.smCousuario;
	}

	public void setSmCousuario(String smCousuario) {
		this.smCousuario = smCousuario;
	}

	public String getSmDsconsultorio() {
		return this.smDsconsultorio;
	}

	public void setSmDsconsultorio(String smDsconsultorio) {
		this.smDsconsultorio = smDsconsultorio;
	}

	public Date getSmFhingreso() {
		return this.smFhingreso;
	}

	public void setSmFhingreso(Date smFhingreso) {
		this.smFhingreso = smFhingreso;
	}

	public Date getSmFhmodificacion() {
		return this.smFhmodificacion;
	}

	public void setSmFhmodificacion(Date smFhmodificacion) {
		this.smFhmodificacion = smFhmodificacion;
	}

	public Date getSmFhretiro() {
		return this.smFhretiro;
	}

	public void setSmFhretiro(Date smFhretiro) {
		this.smFhretiro = smFhretiro;
	}

	public List<SmartAgenda> getSmartAgendas() {
		return this.smartAgendas;
	}

	public void setSmartAgendas(List<SmartAgenda> smartAgendas) {
		this.smartAgendas = smartAgendas;
	}

	public SmartAgenda addSmartAgenda(SmartAgenda smartAgenda) {
		getSmartAgendas().add(smartAgenda);
		smartAgenda.setSmartConsultorio(this);

		return smartAgenda;
	}

	public SmartAgenda removeSmartAgenda(SmartAgenda smartAgenda) {
		getSmartAgendas().remove(smartAgenda);
		smartAgenda.setSmartConsultorio(null);

		return smartAgenda;
	}

}